{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Learn Keras for Deep Neural Networks\n",
    "## Chapter 3 - Deep Neural Networks for Supervised Learning - Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/jmoolay/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2785: DtypeWarning: Columns (7) have mixed types. Specify dtype option on import or set low_memory=False.\n",
      "  interactivity=interactivity, compiler=compiler, result=result)\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import LabelEncoder, OneHotEncoder\n",
    "df  = pd.read_csv(\"/Users/jmoolay/Personal/Apress/Learn Keras for DNN/First Draft/Chapter 3/Data/train.csv\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of the Dataset: (1017209, 9)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Store</th>\n",
       "      <th>DayOfWeek</th>\n",
       "      <th>Date</th>\n",
       "      <th>Sales</th>\n",
       "      <th>Customers</th>\n",
       "      <th>Open</th>\n",
       "      <th>Promo</th>\n",
       "      <th>StateHoliday</th>\n",
       "      <th>SchoolHoliday</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>2015-07-31</td>\n",
       "      <td>5263</td>\n",
       "      <td>555</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>2015-07-31</td>\n",
       "      <td>6064</td>\n",
       "      <td>625</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>2015-07-31</td>\n",
       "      <td>8314</td>\n",
       "      <td>821</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>2015-07-31</td>\n",
       "      <td>13995</td>\n",
       "      <td>1498</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>2015-07-31</td>\n",
       "      <td>4822</td>\n",
       "      <td>559</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Store  DayOfWeek        Date  Sales  Customers  Open  Promo StateHoliday  \\\n",
       "0      1          5  2015-07-31   5263        555     1      1            0   \n",
       "1      2          5  2015-07-31   6064        625     1      1            0   \n",
       "2      3          5  2015-07-31   8314        821     1      1            0   \n",
       "3      4          5  2015-07-31  13995       1498     1      1            0   \n",
       "4      5          5  2015-07-31   4822        559     1      1            0   \n",
       "\n",
       "   SchoolHoliday  \n",
       "0              1  \n",
       "1              1  \n",
       "2              1  \n",
       "3              1  \n",
       "4              1  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Shape of the Dataset:\",df.shape)\n",
    "#the head method displays the first 5 rows of the data\n",
    "df.head(5)  \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of the Dataset: (1115, 10)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Store</th>\n",
       "      <th>StoreType</th>\n",
       "      <th>Assortment</th>\n",
       "      <th>CompetitionDistance</th>\n",
       "      <th>CompetitionOpenSinceMonth</th>\n",
       "      <th>CompetitionOpenSinceYear</th>\n",
       "      <th>Promo2</th>\n",
       "      <th>Promo2SinceWeek</th>\n",
       "      <th>Promo2SinceYear</th>\n",
       "      <th>PromoInterval</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>c</td>\n",
       "      <td>a</td>\n",
       "      <td>1270.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2008.0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>a</td>\n",
       "      <td>a</td>\n",
       "      <td>570.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>2007.0</td>\n",
       "      <td>1</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2010.0</td>\n",
       "      <td>Jan,Apr,Jul,Oct</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>a</td>\n",
       "      <td>a</td>\n",
       "      <td>14130.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2006.0</td>\n",
       "      <td>1</td>\n",
       "      <td>14.0</td>\n",
       "      <td>2011.0</td>\n",
       "      <td>Jan,Apr,Jul,Oct</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>c</td>\n",
       "      <td>c</td>\n",
       "      <td>620.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2009.0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>a</td>\n",
       "      <td>a</td>\n",
       "      <td>29910.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2015.0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Store StoreType Assortment  CompetitionDistance  CompetitionOpenSinceMonth  \\\n",
       "0      1         c          a               1270.0                        9.0   \n",
       "1      2         a          a                570.0                       11.0   \n",
       "2      3         a          a              14130.0                       12.0   \n",
       "3      4         c          c                620.0                        9.0   \n",
       "4      5         a          a              29910.0                        4.0   \n",
       "\n",
       "   CompetitionOpenSinceYear  Promo2  Promo2SinceWeek  Promo2SinceYear  \\\n",
       "0                    2008.0       0              NaN              NaN   \n",
       "1                    2007.0       1             13.0           2010.0   \n",
       "2                    2006.0       1             14.0           2011.0   \n",
       "3                    2009.0       0              NaN              NaN   \n",
       "4                    2015.0       0              NaN              NaN   \n",
       "\n",
       "     PromoInterval  \n",
       "0              NaN  \n",
       "1  Jan,Apr,Jul,Oct  \n",
       "2  Jan,Apr,Jul,Oct  \n",
       "3              NaN  \n",
       "4              NaN  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "store  = pd.read_csv(\"/Users/jmoolay/Personal/Apress/Learn Keras for DNN/First Draft/Chapter 3/Data/store.csv\")\n",
    "print(\"Shape of the Dataset:\",store.shape)\n",
    "\n",
    "#Display the first 5 rows of data using the head method of pandas dataframe\n",
    "store.head(5)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Metadata\n",
    "*\t**Store** - a unique Id for each store\n",
    "*\t**Sales** - the turnover for a given day (Our target y variable)\n",
    "*\t**Customers** - the number of customers on a given day\n",
    "*\t**Open** - an indicator for whether the store was open: 0 = closed, 1 = open\n",
    "*\t**StateHoliday** - indicates a state holiday. Normally all stores, with few exceptions, are closed on state holidays. Note that all schools are closed on public holidays and weekends. a = public holiday, b = Easter holiday, c = Christmas, 0 = None\n",
    "*\t**SchoolHoliday** - indicates if the (Store, Date) was affected by the closure of public schools\n",
    "*\t**StoreType** - differentiates between 4 different store models: a, b, c, d\n",
    "*\t**Assortment** - describes an assortment level: a = basic, b = extra, c = extended\n",
    "*\t**CompetitionDistance** - distance in meters to the nearest competitor store\n",
    "*\t**CompetitionOpenSince[Month/Year]** - gives the approximate year and month of the time the nearest competitor was opened\n",
    "*\t**Promo **- indicates whether a store is running a promo on that day\n",
    "*\t**Promo2** - Promo2 is a continuing and consecutive promotion for some stores: 0 = store is not participating, 1 = store is participating\n",
    "*\t**Promo2Since[Year/Week]** - describes the year and calendar week when the store started participating in Promo2\n",
    "*\t**PromoInterval** - describes the consecutive intervals Promo2 is started, naming the months the promotion is started anew. E.g. \"Feb,May,Aug,Nov\" means each round starts in February, May, August, November of any given year for that store\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Exploration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1017209, 18)\n"
     ]
    }
   ],
   "source": [
    "df_new = df.merge(store,on=[\"Store\"], how=\"inner\")\n",
    "print(df_new.shape)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Distinct number of Stores : 1115\n",
      "Distinct number of Days : 942\n",
      "Average daily sales of all stores :  5773.82\n"
     ]
    }
   ],
   "source": [
    "print(\"Distinct number of Stores :\", len(df_new[\"Store\"].unique()))\n",
    "print(\"Distinct number of Days :\", len(df_new[\"Date\"].unique()))\n",
    "print(\"Average daily sales of all stores : \",round(df_new[\"Sales\"].mean(),2))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Store                          int64\n",
       "DayOfWeek                      int64\n",
       "Date                          object\n",
       "Sales                          int64\n",
       "Customers                      int64\n",
       "Open                           int64\n",
       "Promo                          int64\n",
       "StateHoliday                  object\n",
       "SchoolHoliday                  int64\n",
       "StoreType                     object\n",
       "Assortment                    object\n",
       "CompetitionDistance          float64\n",
       "CompetitionOpenSinceMonth    float64\n",
       "CompetitionOpenSinceYear     float64\n",
       "Promo2                         int64\n",
       "Promo2SinceWeek              float64\n",
       "Promo2SinceYear              float64\n",
       "PromoInterval                 object\n",
       "dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_new.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5    145845\n",
       "4    145845\n",
       "3    145665\n",
       "2    145664\n",
       "7    144730\n",
       "6    144730\n",
       "1    144730\n",
       "Name: DayOfWeek, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_new[\"DayOfWeek\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Date  Year  Month  Day  Week  Quarter  Season\n",
      "0 2015-07-31  2015      7   31    31        3  Summer\n",
      "1 2015-07-30  2015      7   30    31        3  Summer\n",
      "2 2015-07-29  2015      7   29    31        3  Summer\n",
      "3 2015-07-28  2015      7   28    31        3  Summer\n",
      "4 2015-07-27  2015      7   27    31        3  Summer\n"
     ]
    }
   ],
   "source": [
    "#We can extract all date properties from a datetime datatype \n",
    "df_new[\"Date\"] = pd.to_datetime(df_new[\"Date\"])\n",
    "df_new[\"Month\"] = df_new[\"Date\"].dt.month\n",
    "df_new[\"Quarter\"] = df_new[\"Date\"].dt.quarter\n",
    "df_new[\"Year\"] = df_new[\"Date\"].dt.year\n",
    "df_new[\"Day\"] = df_new[\"Date\"].dt.day\n",
    "df_new[\"Week\"] = df_new[\"Date\"].dt.week\n",
    "\n",
    "df_new[\"Season\"] = np.where(df_new[\"Month\"].isin([3,4,5]),\"Spring\",\n",
    "                        np.where(df_new[\"Month\"].isin([6,7,8]),\"Summer\",\n",
    "                            np.where(df_new[\"Month\"].isin([9,10,11]),\"Fall\",\n",
    "                                np.where(df_new[\"Month\"].isin([12,1,2]),\"Winter\",\"None\"))))\n",
    "\n",
    "#Using the head command to view (only) the data and the newly engineered features\n",
    "print(df_new[[\"Date\",\"Year\",\"Month\",\"Day\",\"Week\",\"Quarter\",\"Season\"]].head())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4MAAAHwCAYAAAAcvrq8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X20pmV9H/rvT/CFE1/wZbQKmLF1XBFdiUZEUntyjLhw0BjoWZpgk4CWVXKsSbVNE9G0x8TEVNus2NgaT61yhMQjEo2VKAYpatOkvoDvQXQxIsoUIyjv1WjA3/njuSZ5stmzZw97hj3D9fms9aznvn/3dd/X9Txzwezv3C+7ujsAAADM5R6bPQAAAADuesIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBGDDquqyqnraZo9jf6uq36iqb1TVX2z2WA4kVfW0qtq52eMAYO8IgwCsqaquqqpnrKi9oKr+dNd6dz+uuz+8h+NsraquqkP301D3q6o6KskvJjm6u//OPjrmSVX16aq6eYTMi6tq69j2q1X1+/uin70Yzyuq6stVdWtV7ayqd9yV/QNw1zoo/0IGgJWq6tDuvm0/dvH9Sb7Z3dfu7Y6rja2qHp3knCT/Z5IPJrlvkhOSfG8fjHWvv4+qOi3JzyZ5Rnd/qar+TpKf2BdjAeDA5MwgABu2fPawqo6tqkvH2a6vV9Vvj2Z/Mt5vHGeefqSq7lFV/6qqvlJV11bVOVX1gKXjnjq2fbOq/vWKfn61qt5ZVb9fVTcnecHo+yNVdWNVfa2q/mNV3WvpeF1V/7SqrqiqW6rq16vq7419bq6q85bbL+33jCQXJXnEGPtbR/0nxiWyN1bVh6vqsSu+k5dV1WeT/K9Vzog+IcmXu/viXrilu9/V3V+tqu1JXpHkp0Z/nxnHfERVnV9V11fVjqr6J0v9rfZ93KOqzqyqL43v8LyqetBu/hifnOTC7v5SknT3X3T3m5aO/8Kqunx8b1dW1c/t5ji7xvmuqrpunGn8Z0vbdjc/ALiLCYMA7Gu/k+R3uvv+Sf5ekvNG/UfH++Hdfd/u/kiSF4zXjyX5u1mcHfuPSVJVRyf53SQ/neThSR6Q5IgVfZ2U5J1JDk/ytiS3J/nnSR6S5EeSHJ/kn67YZ3uSJyU5LskvJ3nT6OOoJI9P8vyVH6i7/2uSE5NcM8b+gqp6TJK3J3lpki1JLkjyRyvC5POTPHt85pVn6T6Z5Aeq6nVV9WNVdd+l/v44yW8mecfo74fGprcn2ZnkEUmem+Q3q+r4Nb6Pf5bk5CT/x9jnhiRvWPn5ho8mObWqfqmqjqmqQ1ZsvzbJjye5f5IXJnldVf3wyoNU1T2S/FGSz2Tx53V8kpdW1TNHk93NDwDuYsIgAOvxX8bZrxur6sYsQtru/FWSR1fVQ7r71u7+6BptfzrJb3f3ld19a5KXJzllnEV7bpI/6u4/7e7vJvm/k/SK/T/S3f+lu7/X3d/u7k9090e7+7buvirJf8oiCC17bXff3N2XJfnzJB8Y/d+U5P1Jnri+ryQ/leR93X1Rd/9Vkt9KcliSv7/U5vXdfXV3f3vlzt19ZZKnZRGYzkvyjap663IoXFaLexb/QZKXdfdfdvenk7w5i0s7V/0+kvxckl/p7p3d/Z0kv5rkuaucpUx3/36SX0jyzCT/Lcm1VXXm0vb3dfeXxlnM/5bkA0n+91WG+uQkW7r7Vd393fE5/3OSU8b2vZkfAOxHwiAA63Fydx++65U7nm1bdnqSxyT5QlVdUlU/vkbbRyT5ytL6V7K4n/1hY9vVuzZ097eSfHPF/lcvr1TVY6rqvVX1F+NSyd/M4izhsq8vLX97lfVVw9iext7d3xvjWT57efXKnZaN4PqT3b0li2D1o0l+ZY3+ru/uW5ZqX9lDf9+f5N1LIf7yLM6ePmw343lbdz8jizOL/1eSV+06o1dVJ1bVR8clqjcmeVbu+N3u6vMRK/7x4BVLfe7N/ABgPxIGAdinuvuK7n5+kocmeW2Sd1bV9+WOZ/WS5JoswsMuj0xyWxYB7WtJjty1oaoOS/Lgld2tWH9jki8k2TYuQ3xFkrrzn2ZNf2vsVVVZXGr6P9cY32519yVJ/jCLS1VX2/eaJA+qqvst1R65h/6uTnLicpDv7vt09//MGrr7r7r7D5J8Nsnjq+reSd6VxdnPh41/ELggq3+3V2dxL+Ryn/fr7meNY+9ufgBwFxMGAdinqupnqmrLOFN24yjfnuS6LJ6U+XeXmr89yT+vqkeNyyN33Sd3Wxb3vj2nqv7+uA/v17LnYHe/JDcnubWqfiDJi/bZB7uj85I8u6qOr6p7ZvFrJ76T5H+sZ+eq+gdV9U+q6qFj/QeyeHrnrssmv55k67gHL9199Tj2v6mq+1TVD2Zxlu1ta3Tz/yR5dVV9/+hjS1WdtJvxvKCqnl1V9xsPnjkxyeOSfCzJvZLcO4s/w9vGthN20+fHk9w8Hp5zWFUdUlWPr6onj352Nz8AuIsJgwDsa9uTXFZVt2bxsJBTxj1u30ry6iR/Ni4fPC7JWUl+L4snjX45yV9mcd9axj19v5Dk3CzOEt6SxUNMvrNG3/8yyT8abf9zkv32e/K6+4tJfibJf0jyjSTPSfKccX/jetyYRfj73Piu/jjJu5P827H9D8b7N6vqk2P5+Um2ZnGW8N1JXtndF63Rx+8kOT/JB6rqliyC5lN20/bmLM6kfnWM7d8medG4Z/OWLB5Gc14WD6H5R+O4d9Ddt2fxXTwhiz/Tb2Rxb+Oup8SuOj/W+AwA7CfVve4rWABg04wzhzdmcQnolzd7PABwsHNmEIADVlU9p6r+t3FP2W8l+VySqzZ3VABw9yAMAnAgOymLSyKvSbIti0sKXdICAPuAy0QBAAAm5MwgAADAhIRBAACACR262QPY1x7ykIf01q1bN3sYAAAAm+ITn/jEN7p7y57a3e3C4NatW3PppZdu9jAAAAA2RVV9ZT3tXCYKAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEDl1Po6q6KsktSW5Pclt3H1NVD0ryjiRbk1yV5Ce7+4aqqiS/k+RZSb6V5AXd/clxnNOS/Ktx2N/o7rNH/UlJ3prksCQXJHlJd/fu+tjQJ+agsPXM9232EA4qV73m2Zs9BAAADjJ7c2bwx7r7Cd19zFg/M8nF3b0tycVjPUlOTLJtvM5I8sYkGcHulUmekuTYJK+sqgeOfd442u7ab/se+gAAAGADNnKZ6ElJzh7LZyc5eal+Ti98NMnhVfXwJM9MclF3Xz/O7l2UZPvYdv/u/kh3d5JzVhxrtT4AAADYgPWGwU7ygar6RFWdMWoP6+6vJcl4f+ioH5Hk6qV9d47aWvWdq9TX6gMAAIANWNc9g0me2t3XVNVDk1xUVV9Yo22tUus7UV+3EVDPSJJHPvKRe7MrAADAlNZ1ZrC7rxnv1yZ5dxb3/H19XOKZ8X7taL4zyVFLux+Z5Jo91I9cpZ41+lg5vjd19zHdfcyWLVvW85EAAACmtscwWFXfV1X327Wc5IQkf57k/CSnjWanJXnPWD4/yam1cFySm8YlnhcmOaGqHjgeHHNCkgvHtluq6rjxJNJTVxxrtT4AAADYgPVcJvqwJO9e5LQcmuT/6+4/rqpLkpxXVacn+WqS5432F2TxayV2ZPGrJV6YJN19fVX9epJLRrtXdff1Y/lF+ZtfLfH+8UqS1+ymDwAAADZgj2Gwu69M8kOr1L+Z5PhV6p3kxbs51llJzlqlfmmSx6+3DwAAADZmI79aAgAAgIOUMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJjQusNgVR1SVZ+qqveO9UdV1ceq6oqqekdV3WvU7z3Wd4ztW5eO8fJR/2JVPXOpvn3UdlTVmUv1VfsAAABgY/bmzOBLkly+tP7aJK/r7m1Jbkhy+qifnuSG7n50kteNdqmqo5OckuRxSbYn+d0RMA9J8oYkJyY5OsnzR9u1+gAAAGAD1hUGq+rIJM9O8uaxXkmenuSdo8nZSU4eyyeN9Yztx4/2JyU5t7u/091fTrIjybHjtaO7r+zu7yY5N8lJe+gDAACADVjvmcF/n+SXk3xvrD84yY3dfdtY35nkiLF8RJKrk2Rsv2m0/+v6in12V1+rDwAAADZgj2Gwqn48ybXd/Ynl8ipNew/b9lV9tTGeUVWXVtWl11133WpNAAAAWLKeM4NPTfITVXVVFpdwPj2LM4WHV9Who82RSa4ZyzuTHJUkY/sDkly/XF+xz+7q31ijj7+lu9/U3cd09zFbtmxZx0cCAACY2x7DYHe/vLuP7O6tWTwA5oPd/dNJPpTkuaPZaUneM5bPH+sZ2z/Y3T3qp4ynjT4qybYkH09ySZJt48mh9xp9nD/22V0fAAAAbMBGfs/gy5L8i6rakcX9fW8Z9bckefCo/4skZyZJd1+W5Lwkn0/yx0le3N23j3sCfz7JhVk8rfS80XatPgAAANiAQ/fc5G9094eTfHgsX5nFk0BXtvnLJM/bzf6vTvLqVeoXJLlglfqqfQAAALAxGzkzCAAAwEFKGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExoj2Gwqu5TVR+vqs9U1WVV9Wuj/qiq+lhVXVFV76iqe436vcf6jrF969KxXj7qX6yqZy7Vt4/ajqo6c6m+ah8AAABszHrODH4nydO7+4eSPCHJ9qo6Lslrk7yuu7cluSHJ6aP96Ulu6O5HJ3ndaJeqOjrJKUkel2R7kt+tqkOq6pAkb0hyYpKjkzx/tM0afQAAALABewyDvXDrWL3neHWSpyd556ifneTksXzSWM/YfnxV1aif293f6e4vJ9mR5Njx2tHdV3b3d5Ocm+Sksc/u+gAAAGAD1nXP4DiD9+kk1ya5KMmXktzY3beNJjuTHDGWj0hydZKM7TclefByfcU+u6s/eI0+AAAA2IB1hcHuvr27n5DkyCzO5D12tWbjvXazbV/V76CqzqiqS6vq0uuuu261JgAAACzZq6eJdveNST6c5Lgkh1fVoWPTkUmuGcs7kxyVJGP7A5Jcv1xfsc/u6t9Yo4+V43pTdx/T3cds2bJlbz4SAADAlNbzNNEtVXX4WD4syTOSXJ7kQ0meO5qdluQ9Y/n8sZ6x/YPd3aN+ynja6KOSbEvy8SSXJNk2nhx6ryweMnP+2Gd3fQAAALABh+65SR6e5Ozx1M97JDmvu99bVZ9Pcm5V/UaSTyV5y2j/liS/V1U7sjgjeEqSdPdlVXVeks8nuS3Ji7v79iSpqp9PcmGSQ5Kc1d2XjWO9bDd9HHS2nvm+zR4CAADAX9tjGOzuzyZ54ir1K7O4f3Bl/S+TPG83x3p1klevUr8gyQXr7QMAAICN2at7BgEAALh7EAYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAAT2mMYrKqjqupDVXV5VV1WVS8Z9QdV1UVVdcV4f+CoV1W9vqp2VNVnq+qHl4512mh/RVWdtlR/UlV9buzz+qqqtfoAAABgY9ZzZvC2JL/Y3Y9NclySF1fV0UnOTHJxd29LcvFYT5ITk2wbrzOSvDFZBLskr0zylCTHJnnlUrh742i7a7/to767PgAAANiAPYbB7v5ad39yLN+S5PIkRyQ5KcnZo9nZSU4eyyclOacXPprk8Kp6eJJnJrmou6/v7huSXJRk+9h2/+7+SHd3knNWHGu1PgAAANiAvbpnsKq2Jnliko8leVh3fy1ZBMYkDx3Njkhy9dJuO0dtrfrOVepZow8AAAA2YN1hsKrum+RdSV7a3Tev1XSVWt+J+rpV1RlVdWlVXXrdddftza4AAABTWlcYrKp7ZhEE39bdfzjKXx+XeGa8XzvqO5MctbT7kUmu2UP9yFXqa/Xxt3T3m7r7mO4+ZsuWLev5SAAAAFNbz9NEK8lbklze3b+9tOn8JLueCHpakvcs1U8dTxU9LslN4xLPC5OcUFUPHA+OOSHJhWPbLVV13Ojr1BXHWq0PAAAANuDQdbR5apKfTfK5qvr0qL0iyWuSnFdVpyf5apLnjW0XJHlWkh1JvpXkhUnS3ddX1a8nuWS0e1V3Xz+WX5TkrUkOS/L+8coafQAAALABewyD3f2nWf2+viQ5fpX2neTFuznWWUnOWqV+aZLHr1L/5mp9AAAAsDF79TRRAAAA7h6EQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJnToZg8A2LitZ75vs4dwULnqNc/e7CEAAGw6ZwYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwoT2Gwao6q6qurao/X6o9qKouqqorxvsDR72q6vVVtaOqPltVP7y0z2mj/RVVddpS/UlV9bmxz+urqtbqAwAAgI1bz5nBtybZvqJ2ZpKLu3tbkovHepKcmGTbeJ2R5I3JItgleWWSpyQ5Nskrl8LdG0fbXftt30MfAAAAbNAew2B3/0mS61eUT0py9lg+O8nJS/VzeuGjSQ6vqocneWaSi7r7+u6+IclFSbaPbffv7o90dyc5Z8WxVusDAACADbqz9ww+rLu/liTj/aGjfkSSq5fa7Ry1teo7V6mv1QcAAAAbtK8fIFOr1PpO1Peu06ozqurSqrr0uuuu29vdAQAApnNnw+DXxyWeGe/XjvrOJEcttTsyyTV7qB+5Sn2tPu6gu9/U3cd09zFbtmy5kx8JAABgHnc2DJ6fZNcTQU9L8p6l+qnjqaLHJblpXOJ5YZITquqB48ExJyS5cGy7paqOG08RPXXFsVbrAwAAgA06dE8NqurtSZ6W5CFVtTOLp4K+Jsl5VXV6kq8med5ofkGSZyXZkeRbSV6YJN19fVX9epJLRrtXdfeuh9K8KIsnlh6W5P3jlTX6AAAAYIP2GAa7+/m72XT8Km07yYt3c5yzkpy1Sv3SJI9fpf7N1foAAABg4/b1A2QAAAA4CAiDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEhEEAAIAJCYMAAAATEgYBAAAmJAwCAABMSBgEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAEzp0swcAcFfbeub7NnsIB5WrXvPszR4CALAfODMIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAExIGAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYELCIAAAwISEQQAAgAkJgwAAABMSBgEAACYkDAIAAExIGAQAAJiQMAgAADAhYRAAAGBCwiAAAMCEDt3sAQBwYNt65vs2ewgHlate8+zNHgIArIszgwAAABMSBgEAACZ0wIfBqtpeVV+sqh1VdeZmjwcAAODu4IAOg1V1SJI3JDkxydFJnl9VR2/uqAAAAA5+B/oDZI5NsqO7r0ySqjo3yUlJPr+powKA3fDAnb3jgTsAm+dAD4NHJLl6aX1nkqds0lgAgH1MeN57AjSwrxzoYbBWqfUdGlWdkeSMsXprVX1xv47qznlIkm9s9iBgPzC3ubsytzkg1Ws3fAhzm7src/tvfP96Gh3oYXBnkqOW1o9Mcs3KRt39piRvuqsGdWdU1aXdfcxmjwP2NXObuytzm7src5u7K3N77x3QD5BJckmSbVX1qKq6V5JTkpy/yWMCAAA46B3QZwa7+7aq+vkkFyY5JMlZ3X3ZJg8LAADgoHdAh8Ek6e4Lklyw2ePYBw7oy1hhA8xt7q7Mbe6uzG3ursztvVTdd3geCwAAAHdzB/o9gwAAAOwHwuB+VlXbq+qLVbWjqs7c7PHAaqrqrKq6tqr+fKn2oKq6qKquGO8PHPWqqtePOf3ZqvrhpX1OG+2vqKrTlupPqqrPjX1eX1Wr/doY2Oeq6qiq+lBVXV5Vl1XVS0bd/OagVlX3qaqPV9Vnxtz+tVF/VFV9bMzTd4wH8KWq7j3Wd4ztW5eO9fJR/2JVPXOp7mcYNk1VHVJVn6qq9451c3s/EAb3o6o6JMkbkpyY5Ogkz6+qozd3VLCqtybZvqJ2ZpKLu3tbkovHerKYz9vG64wkb0wWP1wneWWSpyQ5Nskrd/2APdqcsbTfyr5gf7ktyS9292OTHJfkxeP/w+Y3B7vvJHl6d/9Qkick2V5VxyV5bZLXjbl9Q5LTR/vTk9zQ3Y9O8rrRLuO/h1OSPC6Lufu744dwP8Ow2V6S5PKldXN7PxAG969jk+zo7iu7+7tJzk1y0iaPCe6gu/8kyfUryiclOXssn53k5KX6Ob3w0SSHV9XDkzwzyUXdfX1335Dkoix+OHl4kvt390d6cZPyOUvHgv2qu7/W3Z8cy7dk8YPFETG/OciNOXrrWL3neHWSpyd556ivnNu75vw7kxw/zmKflOTc7v5Od385yY4sfn7xMwybpqqOTPLsJG8e6xVze78QBvevI5JcvbS+c9TgYPCw7v5asviBOslDR31383qt+s5V6nCXGpcOPTHJx2J+czcwznJ8Osm1WfwDxZeS3Njdt40my/Pxr+fw2H5Tkgdn7+c83BX+fZJfTvK9sf7gmNv7hTC4f61234jHt3Kw29283ts63GWq6r5J3pXkpd1981oSFy1KAAAE40lEQVRNV6mZ3xyQuvv27n5CkiOzONvx2NWajXdzm4NCVf14kmu7+xPL5VWamtv7gDC4f+1MctTS+pFJrtmkscDe+vq4BC7j/dpR3928Xqt+5Cp1uEtU1T2zCIJv6+4/HGXzm7uN7r4xyYezuC/28Kra9Xukl+fjX8/hsf0BWdwesLdzHva3pyb5iaq6KotLOJ+exZlCc3s/EAb3r0uSbBtPP7pXFjexnr/JY4L1Oj/JricmnpbkPUv1U8dTF49LctO4zO7CJCdU1QPHgzVOSHLh2HZLVR03ruE/delYsF+NOfeWJJd3928vbTK/OahV1ZaqOnwsH5bkGVncE/uhJM8dzVbO7V1z/rlJPjjucz0/ySnjiYyPyuIhSB+Pn2HYJN398u4+sru3ZjHvPtjdPx1ze784dM9NuLO6+7aq+vksfog4JMlZ3X3ZJg8L7qCq3p7kaUkeUlU7s3hq4muSnFdVpyf5apLnjeYXJHlWFjdifyvJC5Oku6+vql/P4n+ySfKq7t71UJoXZfHE0sOSvH+84K7w1CQ/m+Rz496qJHlFzG8Ofg9PcvZ4MuI9kpzX3e+tqs8nObeqfiPJp7L4x5CM99+rqh1ZnDU5JUm6+7KqOi/J57N4+u6Lu/v2JPEzDAeYl8Xc3udqEZwBAACYictEAQAAJiQMAgAATEgYBAAAmJAwCAAAMCFhEAAAYEJ+tQQA06iq25N8bql0cndftUnDAYBN5VdLADCNqrq1u++7xvZDu/u2u3JMALBZXCYKwNSq6gVV9QdV9UdJPjBqv1RVl1TVZ6vq15ba/kpVfbGq/mtVvb2q/uWof7iqjhnLD6mqq8byIVX175aO9XOj/rSxzzur6gtV9baqqrHtyVX1P6rqM1X18aq6X1X996p6wtI4/qyqfvCu+o4AuHtymSgAMzmsqj49lr/c3f9wLP9Ikh/s7uur6oQk25Icm6SSnF9VP5rkfyU5JckTs/j785NJPrGH/k5PclN3P7mq7p3kz6rqA2PbE5M8Lsk1Sf4syVOr6uNJ3pHkp7r7kqq6f5JvJ3lzkhckeWlVPSbJvbv7sxv6JgCYnjAIwEy+3d1PWKV+UXdfP5ZPGK9PjfX7ZhEO75fk3d39rSSpqvPX0d8JSX6wqp471h8wjvXdJB/v7p3jWJ9OsjXJTUm+1t2XJEl33zy2/0GSf11Vv5TkHyd563o/MADsjjAIAIuzfrtUkn/T3f9puUFVvTTJ7m60vy1/c+vFfVYc6xe6+8IVx3paku8slW7P4u/kWq2P7v5WVV2U5KQkP5nkmD18HgDYI/cMAsDfdmGSf1xV902Sqjqiqh6a5E+S/MOqOqyq7pfkOUv7XJXkSWP5uSuO9aKquuc41mOq6vvW6PsLSR5RVU8e7e9XVbv+4fbNSV6f5JKls5gAcKc5MwgAS7r7A1X12CQfGc90uTXJz3T3J6vqHUk+neQrSf770m6/leS8qvrZJB9cqr85i8s/PzkeEHNdkpPX6Pu7VfVTSf5DVR2Wxf2Cz0hya3d/oqpuTvL/7qOPCsDk/GoJALgTqupXswhpv3UX9feIJB9O8gPd/b27ok8A7t5cJgoAB7iqOjXJx5L8iiAIwL7izCAAAMCEnBkEAACYkDAIAAAwIWEQAABgQsIgAADAhIRBAACACQmDAAAAE/r/AZgdWWe8iba9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Import matplotlib, python most popular data visualizing library\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "#Create a histogram to study the Daily Sales for the stores\n",
    "plt.figure(figsize=(15,8)) \n",
    "plt.hist(df_new[\"Sales\"])  \n",
    "plt.title(\"Histogram for Store Sales\")\n",
    "plt.xlabel(\"bins\")\n",
    "plt.xlabel(\"Frequency\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x109f00668>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10817d30>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a109fe3c8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10a26a58>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a10a57128>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10a57160>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10aa7e48>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10ad6518>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a10afeba8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10b30278>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10b58908>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10b7df98>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a10baf668>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10bd6cf8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10c093c8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10c30a58>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x1a10c62128>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10c887b8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10cb2e48>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x1a10fd2518>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 20 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Use the  histogram function provided by the Pandas object\n",
    "#The function returns a cross-tab histogram plot for all numeric columns in the data\n",
    "df_new.hist(figsize=(20,10))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Store                         0.000000\n",
       "DayOfWeek                     0.000000\n",
       "Date                          0.000000\n",
       "Sales                         0.000000\n",
       "Customers                     0.000000\n",
       "Open                          0.000000\n",
       "Promo                         0.000000\n",
       "StateHoliday                  0.000000\n",
       "SchoolHoliday                 0.000000\n",
       "StoreType                     0.000000\n",
       "Assortment                    0.000000\n",
       "CompetitionDistance           0.259730\n",
       "CompetitionOpenSinceMonth    31.787764\n",
       "CompetitionOpenSinceYear     31.787764\n",
       "Promo2                        0.000000\n",
       "Promo2SinceWeek              49.943620\n",
       "Promo2SinceYear              49.943620\n",
       "PromoInterval                49.943620\n",
       "Month                         0.000000\n",
       "Quarter                       0.000000\n",
       "Year                          0.000000\n",
       "Day                           0.000000\n",
       "Week                          0.000000\n",
       "Season                        0.000000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_new.isnull().sum()/df_new.shape[0] * 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Replace nulls with the mode\n",
    "df_new[\"CompetitionDistance\"]= df_new[\"CompetitionDistance\"].fillna(df_new[\"CompetitionDistance\"].mode()[0])\n",
    "\n",
    "#Double check if we still see nulls for the column\n",
    "df_new[\"CompetitionDistance\"].isnull().sum()/df_new.shape[0] * 100\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEFCAYAAAD5bXAgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAHUpJREFUeJzt3XtYlHX+//HnAILKIUTLjbVcUCupWANCLcRDJqZ5Wal5KN2+trkdpKXWwkxBywJPeGVclpkdxDBF3bRdt91SidAWjdbcCLWyPKGWX4+MHIS5f3/0dX5rfARW52D4elzXXpfzmffMvO/3Ei/u+565x2ZZloWIiMjP+Hi7ARERuTgpIERExEgBISIiRgoIERExUkCIiIiRn7cbcJXi4mJvtyAi8osUGxtrXG8yAQHn3kgRETGr749rHWISEREjBYSIiBi59RDTggULWL9+PadPn2bkyJHEx8czceJEbDYbnTp1Ij09HR8fH7Kzs8nPz8fPz49JkyYRHR3N7t27jbUiIuIZbvuNW1RUxL/+9S+WLl1KTk4OBw8eJCMjg5SUFHJzc7Esi3Xr1lFSUsLmzZvJy8sjKyuLadOmARhrRUTEc9y2B1FYWMg111zDY489Rnl5OU8//TTLly8nPj4egMTERDZu3EhERAQJCQnYbDbCw8Opra3lyJEjlJSU1Km9/fbb631NvZNJRMR13BYQR48epaysjFdffZV9+/bxyCOPYFkWNpsNgMDAQE6ePEl5eTmhoaHOx51ZN9U2RO9iEhH579T3h7XbAiI0NJTIyEj8/f2JjIwkICCAgwcPOu+32+2EhIQQFBSE3W4/az04OPis8w1nakVExHPcdg4iNjaWTz75BMuyOHToEBUVFXTv3p2ioiIACgoKiIuLIyYmhsLCQhwOB2VlZTgcDsLCwoiKiqpTKyIinuO2PYjevXuzZcsWhg4dimVZpKWl0a5dO6ZMmUJWVhaRkZEkJSXh6+tLXFwcw4cPx+FwkJaWBkBqamqd2l+6efPmsXr1agYPHszjjz/u7XZEzqKfT/k5W1P5wqDi4uIGz0GMevodD3VTl6P2ND9uzfm/WzYu73I/Pr7NvNZP7sz7vPbaUtfaMf/j1devdjh4+cA+AGzA+Cvb4e+lt5UPWPymV173UlXf7059sEBERIwUEB7i49uMFpd3BqDF5dd5de9B5Of8fXzoEhgEwG8Dg7y29yAXlyZ1sb6LXcjV3Qm5uru32xAxui00jNtCw7zdhlxE9GeCiIiLzZs3j9tuu4158+Z5u5ULooAQEXGhiooK1qxZA8D7779PRUWFlzs6fzrEJCJNzovP5nnttWtqT3PmzaEOh8WsaX/Gz4vnHCe9MOy8H6uAkPPywJt/9HYLF423/uclb7cgFxE/32a0a3s9+w6V0K5tlFfD4UIpIEREXOzaiB5cG9HD221cMJ2DEBERIwWEiIgYKSBERMRIASEiIkYKCBERMVJAiIiIkQJCRESMFBAiImKkgBARESMFhIiIGCkgRETESAEhIiJGCggRETFSQIiIiJECQkREjBQQIiJipIAQEREjBYSIiBgpIERExMit30l91113ERwcDEC7du0YPnw4L7zwAr6+viQkJDB+/HgcDgdTp05lx44d+Pv7M336dNq3b8/WrVvr1IqIiOe4LSCqqqoAyMnJca4NHjyYl19+mauuuopx48ZRUlLC/v37qa6uZtmyZWzdupXMzExeeeUV0tPT69Ref/317mpXRER+xm0BsX37dioqKhg7diw1NTUkJydTXV3N1VdfDUBCQgKffvopP/74Iz169ACgS5cufPnll5SXlxtrFRAiIp7jtoBo3rw5Dz74IMOGDeP777/noYceIiQkxHl/YGAge/fupby8nKCgIOe6r69vnbUztQ0pLi527UY0YZqV62iWrqV5utaFzNNtAREREUH79u2x2WxEREQQHBzMsWPHnPfb7XZCQkKorKzEbrc71x0OB0FBQWetnaltSGxsbP0Fy7b/9xvSRDU4q4ZsW+yaRpqAC54lsNYFfTQVrpjn31ftckEnTUND86wvQNz2LqYVK1aQmZkJwKFDh6ioqKBly5bs2bMHy7IoLCwkLi6OmJgYCgoKANi6dSvXXHMNQUFBNGvWrE6tiIh4jtv2IIYOHcozzzzDyJEjsdlsvPjii/j4+DBhwgRqa2tJSEjgt7/9LTfeeCMbN25kxIgRWJbFiy++CMC0adPq1IqIiOe4LSD8/f2ZM2dOnfXly5efddvHx4fnnnuuTl2XLl3q1IqIiOfog3IiImKkgBARESMFhIiIGCkgRETESAEhIiJGCggRETFSQIiIiJECQkREjBQQIiJipIAQEREjBYSIiBgpIERExEgBISIiRgoIERExUkCIiIiRAkJERIwUECIiYqSAEBERIwWEiIgYKSBERMRIASEiIkYKCBERMVJAiIiIkQJCRESMFBAiImKkgBARESMFhIiIGLk1IP73f/+Xnj178u2337J7925GjhzJqFGjSE9Px+FwAJCdnc3QoUMZMWIE27ZtAzhnrYiIeI7bAuL06dOkpaXRvHlzADIyMkhJSSE3NxfLsli3bh0lJSVs3ryZvLw8srKymDZt2jlrRUTEs9wWEDNmzGDEiBFcccUVAJSUlBAfHw9AYmIimzZtori4mISEBGw2G+Hh4dTW1nLkyBFjrYiIeJafO5501apVhIWF0aNHD1577TUALMvCZrMBEBgYyMmTJykvLyc0NNT5uDPrptrGKC4udvGWNF2aletolq6lebrWhczTLQGxcuVKbDYbn376KaWlpaSmpnLkyBHn/Xa7nZCQEIKCgrDb7WetBwcH4+PjU6e2MWJjY+svWLb9v9uQJqzBWTVk22LXNNIEXPAsgbUu6KOpcMU8/75qlws6aRoammd9AeKWQ0zvvPMOS5YsIScnh86dOzNjxgwSExMpKioCoKCggLi4OGJiYigsLMThcFBWVobD4SAsLIyoqKg6tSIi4llu2YMwSU1NZcqUKWRlZREZGUlSUhK+vr7ExcUxfPhwHA4HaWlp56wVERHPcntA5OTkOP+9ZMmSOvcnJyeTnJx81lpERISxVkREPEcflBMRESMFhIiIGCkgRETESAEhIiJGCggRETFSQIiIiJECQkREjBQQIiJipIAQEREjBYSIiBgpIERExEgBISIiRgoIERExUkCIiIiRAkJERIwUECIiYnReAVFeXu7qPkRE5CLTqIDYsGEDs2bNwm63c8cdd3DbbbexatUqd/cmIiJe1KiAyM7OZtCgQaxdu5bo6GjWr1+vrwQVEWniGn2I6brrriM/P58+ffoQGBjI6dOn3dmXiIh4WaMCok2bNjz//PN8+eWX9OjRg8zMTMLDw93dm4iIeFGjAmLOnDnceOON5OTk0LJlS6666irmzJnj7t5ERMSLGhUQQUFB+Pj4sHLlSioqKggMDCQoKMjdvYmIiBc1KiBmz55NQUEB//jHP6itrWXlypVkZma6uzcREfGiRgVEYWEhs2bNIiAggKCgIN58800KCgrc3ZuIiHhRowLCx+enMpvNBkB1dbVzTUREmia/xhT179+flJQUjh8/zltvvcWaNWu488473d2biIh4UaMCYty4cXzyySeEh4dz4MABkpOT6d27d72Pqa2tZfLkyXz33Xf4+vqSkZGBZVlMnDgRm81Gp06dSE9Px8fHh+zsbPLz8/Hz82PSpElER0eze/duY62IiHhGvQGxZcsW57+bN29Onz59zrrv5ptvPudjN2zYAMC7775LUVGRMyBSUlLo2rUraWlprFu3jvDwcDZv3kxeXp4zfFauXElGRkad2ttvv/1Ct1dERBqp3oCYN2/eOe+z2WwsXrz4nPf37duXXr16AVBWVkabNm3Iz88nPj4egMTERDZu3EhERAQJCQnYbDbCw8Opra3lyJEjlJSU1KlVQIiIeE69AZGTk3NhT+7nR2pqKh9++CHz5s1jw4YNzhPdgYGBnDx5kvLyckJDQ52PObNuWVad2oYUFxdfUL+XEs3KdTRL19I8XetC5tmocxBbt25lwYIFnDp1CsuycDgclJWVsX79+gYfO2PGDCZMmMC9995LVVWVc91utxMSEkJQUBB2u/2s9eDg4LPON5ypbUhsbGz9Bcu2N/gcl4oGZ9WQbefee7zUXPAsgbUu6KOpcMU8/75qlws6aRoammd9AdKos76TJk2ib9++1NbWct9999G2bVv69u1b72Pee+89FixYAECLFi2w2WzccMMNFBUVAVBQUEBcXBwxMTEUFhY6Q8fhcBAWFkZUVFSdWhER8ZxG7UH4+/szZMgQ9u/fT0hICDNnzmTQoEH1PqZfv34888wz3HfffdTU1DBp0iQ6dOjAlClTyMrKIjIykqSkJHx9fYmLi2P48OE4HA7S0tIASE1NrVMrIiKe06iACAgI4NixY0RERPDFF1/QvXt3amtr631My5Yteemll+qsm75HIjk5meTk5LPWIiIi9J0TIiJe1KhDTA888ABPPPEEvXv3ZvXq1QwcOJAbbrjB3b2JiIgXNbgHsWHDBm644Qb69+/PunXraNu2LQEBAbpYn4hIE1fvHsSiRYvIzs6mqqqKHTt2MGHCBAYOHMivf/1rZs2a5akeRUTEC+rdg1i9ejXLli2jRYsWzJ49mz59+jBs2DAsy2LAgAGe6lFERLyg3j0Im81GixYtACgqKqJHjx7OdRERadrq3YPw9fXlxIkTnDp1itLSUm699VYA9u/fj59fo94AJSIiv1D1/pYfN24c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e4Cm+XN4Pn5+iKm8vJzVq1fzz3/+k6CgoF/0+THtQTTSjh07mDp1KlVVVcBP/3EEBwcTGhrKjz/+CMBXX33lrP/PIDgfkZGRDBw4kJycHBYuXEj//v2df6n5+DS9/9vONV9fX1/nyerPP//cGaTnmsHP53711Veza9cuKisrcTgczsBt6m699VYWLFjg3FuIjY11/nye+WPlDNPPqs1mw7IsIiMj6dixI4sXLyYnJ4d77rnHedmbC/0Zb6pWrVpFcHAwc+bMYezYsVRWVvJL/Tyy9iAaqV+/fnz77bcMGzaMli1bYlkWTz/9NM2aNeO5557jyiuv5IorrnDZ640YMYLJkydz//33U15ezqhRo5pkMJxxrvm+/fbb/PnPf+att96iRYsWzJw5k507dzb6ecPCwnjooYcYNWoUoaGhVFVV1XvRx6billtuYfLkycycORMAf39/goODiYqKatTjb7rpJp5++mneeOMNunfvzsiRI6muriY6OlonrhvQvXt3nnzySYqLi2nRogXt27fnhx9+8HZb50WX2pCL2n++CeB81NTUsHDhQh555BEA7rvvPlJSUrj55ptd2aZIk9T0/5SSS5qfnx8VFRXcfffdNGvWjOjoaOLi4rzdlsgvgvYgRETEqOke1BYRkQuigBARESMFhIiIGOkktUgDPvjgA1577TVqamqwLIvBgwfz+9//3tttibidAkKkHocOHWLGjBmsWrWKVq1aYbfbndeHuu2227zdnohbKSBE6nH06FFOnz5NZWUlAIGBgWRmZhIQEMC2bdvIyMigsrKSVq1aMW3aNK666io2b97M3Llzqays5MSJEzzzzDP07duX999/n9dffx1fX1/atWvHrFmzCAgI4NVXX2XNmjX4+vpy66238tRTT3HgwAHGjx9Pp06dKC0tpXXr1rz00kt1PgUt4laWiNQrLS3NioqKsoYMGWLNnDnTKi0ttaqqqqxBgwZZ+/fvtyzLsgoKCqzf/e53lmVZVnJysvXNN99YlmVZmzZtsu68807LsiyrT58+1uHDhy3LsqzMzEzrq6++svLz861hw4ZZp06dsk6fPm09/PDD1pIlS6y9e/da1157rVVSUmJZlmWNHz/eWrx4sYe3XC512oMQacC0adN49NFHKSwspLCwkHvvvZdx48axd+9e5ye04aeLtAHMmjWLDRs28MEHH/DFF19gt9sB6N27NyNHjqRv374kJSXRuXNn1qxZw8CBA50XExwyZAjvvfcePXv2pHXr1s5LY3Tq1Injx497eMvlUqeAEKlHfn4+p06dYsCAAQwZMoQhQ4awfPly3n//fdq1a8fq1auBn74D4PDhwwCMGjWKrl270rVrV7p3786ECRMAmDx5Mtu3b+fjjz/mqaeeYvz48TgcjjqvWVNTA0BAQIBz7czF80Q8SW9zFalH8+bNmTNnDvv27QN+uqR7aWkpXbp04fjx43z22WcArFy5kgkTJnDs2DG+//57/vjHP5KYmMi6deuora2lpqaGfv360apVK/7whz8wePBgSktL6datG3/961+prKykpqaGlStXOi9vLuJt2oMQqUe3bt0YP348Dz/8MKdPnwagR48eJCcn06dPH1544QWqqqoICgpixowZhIaGMnToUAYOHIifnx/dunWjsrKS6upqHn/8ccaOHUtAQACtW7cmMzOT1q1bU1paypAhQ6ipqSEhIYH777+fgwcPennLRXQtJhEROQcdYhIRESMFhIiIGCkgRETESAEhIiJGCggRETFSQIiIiJECQkREjP4f1Q3gRZx1bokAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns  #Seaborn is another powerful visulization library for Python\n",
    "sns.set(style=\"whitegrid\")\n",
    "\n",
    "#Create the bar plot for Average Sales acrss different Seasons\n",
    "ax = sns.barplot(x=\"Season\", y=\"Sales\", data=df_new) \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEFCAYAAAD5bXAgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAFh5JREFUeJzt3W1QVOfdx/HfsgRUFoJEYweTtGI03sSYKAR1oiQIrSTqtB11JEYibWfSeBMijrYoEdRqigYlDbUZY9uYKrFaBzNox5kmQS1aUjQ7NVZq4vTJKpg0CT6w6wO4e90vcktLvcS1cVkI388rOHvt2T+ekS/nwO46jDFGAAD8h7BQDwAA6JoIBADAikAAAKwIBADAikAAAKzCQz3AzeJ2u0M9AgB0S0lJSdbtX5hASNf+IgEAdh39cM0lJgCAFYEAAFgRCACAFYEAAFgRCACAFYEAAFgRCACAFYEAAFgRCAC4hvLycqWnp6u8vDzUo4QEgQAAiwsXLmjHjh2SpJ07d+rChQshnqjzEQgAsGhpadGVN9z0+/1qaWkJ8USd7wv1WkwAur5dT34r1CME5ILP1+7zt/83T72dzhBNc2Me27jhpuyHMwgAgBWBAAALp8PR9rHjPz7vKQgEAFhEhIXpgSiXJOn+KJciwnret0t+BwEA15AeG6f02LhQjxEyPS+JAICAEAgAgBWBAABYEQgAgBWBAABYBe2vmFpbW7Vw4UI1NDQoLCxMy5cvV3h4uBYuXCiHw6EhQ4ZoyZIlCgsL09q1a7V3716Fh4ersLBQI0aM0PHjx61rAQCdI2jfcX/729/q8uXL2rJli3Jzc/WjH/1IJSUlys/P1+bNm2WMUXV1terr63XgwAFt27ZNZWVlWrZsmSRZ1wIAOk/QAjFo0CD5fD75/X55PB6Fh4ervr5eKSkpkqTU1FTV1tbK7XZr3Lhxcjgcio+Pl8/nU1NTk3UtAKDzBO0SU58+fdTQ0KBHH31Up0+f1rp163Tw4EE5/v/p6lFRUWpubpbH41FsbGzb/a5sN8ZctfZ63G53cL4YAOhGbtb3wqAF4rXXXtO4ceM0f/58nTp1SrNnz1Zra2vb7V6vVzExMXK5XPJ6ve22R0dHt/t9w5W115OUlHRzvwgAN92uUA/QA9zI98KOYhK0S0wxMTGKjo6WJN166626fPmyEhMTVVdXJ0mqqalRcnKyRo0apf3798vv96uxsVF+v19xcXHWtQCAzhO0M4icnBwVFhZq5syZam1t1bx58zR8+HAVFRWprKxMCQkJmjhxopxOp5KTkzVjxgz5/X4VFxdLkgoKCq5aCwDoPA5z5S2Tujm3280lJqAb6C5vGNSd3cgbBnX0vZMnFgAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMCKQAAArAgEAMAqPJg7f+WVV7R79261trbq8ccfV0pKihYuXCiHw6EhQ4ZoyZIlCgsL09q1a7V3716Fh4ersLBQI0aM0PHjx61rge6mvLxcVVVV+vrXv65nn3021OMAAQtaIOrq6vSHP/xBv/zlL3XhwgW9+uqrKikpUX5+vkaPHq3i4mJVV1crPj5eBw4c0LZt23Tq1Cnl5eWpsrLSuvarX/1qsMZFN5KzYW6oRwiYv9WnhqqjkqSqHVV6t9cxhd3iDPFU1/fat14K9QjoAoL2I/n+/fs1dOhQ5ebm6umnn9Yjjzyi+vp6paSkSJJSU1NVW1srt9utcePGyeFwKD4+Xj6fT01NTda1AIDOE7QziNOnT6uxsVHr1q3TyZMnNWfOHBlj5HA4JElRUVFqbm6Wx+NRbGxs2/2ubLetvR632x2cLwb4L4Xd4pRraJw8x5rkGhLXLc4eJP4vdXc36/gFLRCxsbFKSEhQRESEEhISFBkZqQ8//LDtdq/Xq5iYGLlcLnm93nbbo6Oj2/2+4cra60lKSrq5XwS6psMbQz3BDembEq++KfGhHuOGBPP/0q6g7RlX3Mjx6ygmQbvElJSUpH379skYo48++kgXLlzQ2LFjVVdXJ0mqqalRcnKyRo0apf3798vv96uxsVF+v19xcXFKTEy8ai0AoPME7QwiLS1NBw8e1LRp02SMUXFxse644w4VFRWprKxMCQkJmjhxopxOp5KTkzVjxgz5/X4VFxdLkgoKCq5aCwDoPEH9M9fvf//7V22rqKi4alteXp7y8vLabRs0aJB1LQCgc/DEAgCAFYEAAFgRCACAFYEAAFgRCACAFYEAAFgRiG6gvLxc6enpKi8vD/UoAHqQoD4Poqua+f3XQz1CwPy+Vn18qEqSVFW1Q7XHYxTmvCXEUwVm8wtPhHoEAJ8DZxAAACsC0cWFOW9R7/7/I0nq3X9Ytzl7AND99chLTN1NzF1jFXPX2FCPAaCH4QwCAGBFIAAAVgQCAGBFIAAAVgQCAGBFIAAAVgQCAGBFIAAAVv9VIDwez82eAwDQxQQUiD179qi0tFRer1ePPvqo0tPTtX379mDPBgAIoYACsXbtWk2ZMkW7du3SiBEjtHv3blVUVAR7NgBACAV8iWnYsGHau3evJkyYoKioKLW2tgZzLgBAiAUUiH79+mn58uU6cuSIxo8fr5UrVyo+Pj7YswEAQiigQKxZs0b33XefNm3apD59+ujOO+/UmjVrgj0bACCEAgqEy+VSWFiYKisrdeHCBUVFRcnlcgV7NgBACAUUiNWrV6umpkZvvvmmfD6fKisrtXLlymDPBgAIoYACsX//fpWWlioyMlIul0sbNmxQTU1NsGcDAIRQQIEIC/tsmcPhkCS1tLS0bQMAfDEF9JajmZmZys/P19mzZ/Xaa69px44dmjx5crBnAwCEUECBeOqpp7Rv3z7Fx8fr1KlTysvLU1paWrBnAwCEUIeBOHjwYNvHvXr10oQJE9rd9uCDDwZvMgBASHUYiPLy8mve5nA4tHHjxps+EACga+gwEJs2beqsOQAAXUxAv4M4dOiQXnnlFZ0/f17GGPn9fjU2Nmr37t3Bng8AECIB/a1qYWGhMjIy5PP59MQTT2jAgAHKyMgI9mwAgBAK6AwiIiJCU6dOVUNDg2JiYvTCCy9oypQpwZ4NABBCAZ1BREZG6syZMxo0aJDee+89OZ1O+Xy+YM8GAAihgAKRk5OjefPmKS0tTVVVVZo0aZKGDx8e7NkAACF03UtMe/bs0fDhw5WZmanq6moNGDBAkZGRvFgfAHzBdXgG8fOf/1xr167VpUuX9MEHH2jBggWaNGmSBg4cqNLS0uvu/NNPP9XDDz+sv/zlLzp+/Lgef/xxzZw5U0uWLJHf75f02duZTps2TVlZWTp8+LAkXXMtAKDzdBiIqqoqVVRU6O6779avf/1rTZgwQdOnT1dRUZH27dvX4Y5bW1tVXFysXr16SZJKSkqUn5+vzZs3yxij6upq1dfX68CBA9q2bZvKysq0bNmya64FAHSuDgPhcDjUu3dvSVJdXZ3Gjx/ftv16Vq1apaysLN1+++2SpPr6eqWkpEiSUlNTVVtbK7fbrXHjxsnhcCg+Pl4+n09NTU3WtQCAztXh7yCcTqfOnTun8+fP6+jRo3rooYckSQ0NDQoPv/Zdt2/frri4OI0fP17r16+XJBlj2sISFRWl5uZmeTwexcbGtt3vynbb2kC43e6A1qFzcDy6L45d93azjl+HgXjqqaf0jW98Q5cvX9a0adN0++23a9euXXrxxReVm5t7zftVVlbK4XDonXfe0dGjR1VQUKCmpqa2271er2JiYuRyueT1etttj46ObvdeE1fWBiIpKSmgddr6fmDr8LkEfDxu1GFeAyzYgnbsJO0K2p5xxY0cv45i0mEgMjMzNXLkSJ0+fVrDhg2T9NlP9CtWrNDo0aOveb/XX3+97ePs7GwtXbpUpaWlqqur0+jRo1VTU6MxY8borrvuUmlpqb7zne/oww8/lN/vV1xcnBITE69aCwDoXNf9M9cBAwZowIABbZ8//PDD/9UDFRQUqKioSGVlZUpISNDEiRPldDqVnJysGTNmyO/3q7i4+JprAQCdK6CX2vg8/v0VYSsqKq66PS8vT3l5ee22DRo0yLoWANB5eGNpAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWBEIAIAVgQAAWIUHY6etra0qLCxUQ0ODWlpaNGfOHN19991auHChHA6HhgwZoiVLligsLExr167V3r17FR4ersLCQo0YMULHjx+3rgUAdJ6gfNfdsWOHYmNjtXnzZv30pz/V8uXLVVJSovz8fG3evFnGGFVXV6u+vl4HDhzQtm3bVFZWpmXLlkmSdS0AoHMFJRCZmZmaO3du2+dOp1P19fVKSUmRJKWmpqq2tlZut1vjxo2Tw+FQfHy8fD6fmpqarGsBAJ0rKJeYoqKiJEkej0fPPvus8vPztWrVKjkcjrbbm5ub5fF4FBsb2+5+zc3NMsZctTYQbrf7Jn8l+Dw4Ht0Xx657u1nHLyiBkKRTp04pNzdXM2fO1JQpU1RaWtp2m9frVUxMjFwul7xeb7vt0dHR7X7fcGVtIJKSkgIbbuv7ga3D5xLw8bhRhzcGZ79oE7RjJ2lX0PaMK27k+HUUk6BcYvrkk0/07W9/W9/73vc0bdo0SVJiYqLq6uokSTU1NUpOTtaoUaO0f/9++f1+NTY2yu/3Ky4uzroWANC5gnIGsW7dOp07d04vv/yyXn75ZUnSc889pxUrVqisrEwJCQmaOHGinE6nkpOTNWPGDPn9fhUXF0uSCgoKVFRU1G4tAKBzBSUQixcv1uLFi6/aXlFRcdW2vLw85eXltds2aNAg61oAQOfhyQUAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwIhAAACsCAQCwCg/1ANfi9/u1dOlSffDBB4qIiNCKFSv05S9/OdRjAUCP0WXPIN5++221tLRo69atmj9/vlauXBnqkQCgR+mygXC73Ro/frwk6YEHHtCRI0dCPBEA9Cxd9hKTx+ORy+Vq+9zpdOry5csKD7/2yG63O6B9z58x7HPPh+sL9HjcqLwRTwZlv/iXYB07SRow95mg7RufuVnHr8sGwuVyyev1tn3u9/s7jENSUlJnjAUAPUaXvcQ0atQo1dTUSJIOHTqkoUOHhngiAOhZHMYYE+ohbK78FdOxY8dkjNEPf/hDDR48ONRjAUCP0WUDAQAIrS57iQkAEFoEAgBgRSAAAFYEAgAstm/frtWrV4d6jJAiEAAAqy77RDl8xuPx6LnnnlNzc7NOnz6t6dOna+bMmaEeCwG6ePGiFi1apMbGRrW2tqqoqEgjR44M9VgI0KFDhzR79mx5PB7l5eXpkUceCfVInYpAdHHHjx/XpEmT9LWvfU0fffSRsrOzCUQ3smXLFg0cOFAvvviijh07ptraWgLRjfTu3Vvr169XU1OTpk+frtTUVIWF9ZwLLwSii+vXr59+8Ytf6M0335TL5dLly5dDPRJuwF//+lelpqZKkoYOHcorAnQzSUlJcjgcuu222xQdHa0zZ84oLi4u1GN1mp6Twm7q1Vdf1QMPPKDVq1crMzNTPK+xexk8eLD++Mc/SpJOnDih+fPnh3gi3Igrx+7jjz/W+fPn1bdv3xBP1Lk4g+ji0tLStHTpUu3cuVOxsbFyOp1qaWlRREREqEdDALKyslRYWKhZs2bJ5/OpsLAw1CPhBly8eFFPPvmkzp8/rx/84AdyOByhHqlT8VIbAAArLjEBAKwIBADAikAAAKwIBADAikAAAKwIBHq8Y8eO6Z577tFvfvOboD1Gc3OzcnNzg7Z/SdqzZ482bNgQ1MdAz0Ig0ONVVlYqMzNTW7duDdpjnD17VkePHg3a/iXpyJEj8ng8QX0M9Cw8UQ49Wmtrq3bu3KnXX39dWVlZ+sc//qG77rpLq1at0u9+9zuFhYUpIyNDzzzzjN555x2VlpZKkm699VatWbNGcXFxqqys1IYNG+RwOHTvvfeqqKhIUVFRGjNmjIYPH66PP/5Y/fv31z//+U/l5uZq0aJFys3NVUJCgv785z8rMTFRI0eO1BtvvKGzZ8/qJz/5iQYPHqzDhw+rpKREFy9eVN++fbVs2TLdeeedys7O1n333Se3262mpiYtXrxYAwcO1JYtWyRJ8fHxmjp1aij/WfFFYYAe7K233jJTp041xhhTWFhoXnjhBXPy5Enz2GOPGWOMOX/+vJk7d665ePGimTVrlnnvvfeMMcasX7/e7Nu3z7z//vsmIyPDNDU1GWOMWbp0qVm5cqUxxpihQ4ea3//+98YYY06cOGHS0tLaPr7nnntMfX298fl8JiMjw6xevdoYY8yPf/xj8/zzz5tLly6ZKVOmmIaGBmOMMTU1NWb27NnGGGNmzZplVqxYYYwxprq62nzzm980xhhTXl5uysvLg/rvhZ6FMwj0aJWVlZo8ebIk6bHHHtOCBQs0d+5cRUZGKisrS2lpaVqwYIEiIyOVnp6uZ555RhkZGUpPT9dDDz2kiooKpaWltb1Gz4wZM7Ro0aK2/d9///3Wx+3Xr58SExMlSV/60pc0duxYSZ/99H/y5En9/e9/14kTJzRnzpy2+/z75aPx48dLkoYMGaIzZ87cxH8R4F8IBHqsTz/9VPv27VN9fb02btwoY4zOnTunt956S9u2bdOBAwdUU1OjrKwsbdq0STk5OUpLS9OePXtUWlqqw4cPKyoqqt0+jTHtXnG3V69e1sf+z9fScjqd7T73+/264447VFVVJUny+Xz65JNP2m6PjIyUpB732kDoXPySGj1WVVWVxowZo5qaGu3evVt79uzR008/reLiYs2aNUsPPvigCgoKNHjwYP3tb3/T9OnT5fV6lZOTo5ycHP3pT39SSkqKdu/e3fZT/K9+9SuNHj36qscKDw+/oZdqT0hI0NmzZ/Xuu+9K+uxMZ8GCBR3ex+l08nLwuKk4g0CP9cYbb2jevHnttj3xxBP62c9+pv79+2vy5Mnq3bu3Ro0apdTUVPXu3VsLFy5UeHi4+vTpoxUrVugrX/mKvvvd7yo7O1utra269957tWzZsqse67bbblN8fLyys7NVUlJy3dkiIiL00ksv6fnnn9elS5fkcrm0atWqDu9zJWj9+vVTdnb2jf1jABa8misAwIpLTAAAKwIBALAiEAAAKwIBALAiEAAAKwIBALAiEAAAq/8DcFZSt4W2oV4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Create the bar plot for Average Sales acrss different Assortments\n",
    "ax = sns.barplot(x=\"Assortment\", y=\"Sales\", data=df_new) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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kydP1oEDBxQdHa3z588rLS1NAwcObOzZAABNzF2jcfTo0do/t27dWoMGDbrttm9961uNNxkAoMm5azTudv0em82m9evXN/hAAICm667R2LBhg7/mAAA0A0avaRw7dkzvv/++rl27Jp/PV3vJ8o8//rix5wMANCFG75vNyMjQkCFD5PV69corr6hjx44aMmRIY88GAGhijM40QkJCNGbMGJ07d04RERF69913NWrUqMaeDQDQxBidaYSGhury5cuKiYnR8ePHZbfb5fV6G3s2AEATYxSNSZMmafr06Ro4cKB27NihkSNHqlevXo09GwCgibnn01P79u1Tr169NHz4cBUUFKhjx44KDQ3lgoUA8Ai665nGr371K+Xl5enGjRs6ffq0Zs6cqZEjR+qxxx7TsmXL/DUjAKCJuOuZxo4dO7Rlyxa1adNGy5cv16BBgzR27Fj5fD6NGDHCXzMCAJqIu55p2Gw2tWnTRpJUXFys/v37124HADx67nqmYbfbdfXqVV27dk2nTp3S888/L0k6d+6cgoON3q0LAGhB7vrIP3nyZH33u9/VzZs3lZycrG984xv66KOPtHLlSk2dOtVfMwIAmoi7RmP48OF65plnVFlZqe7du0uSwsLCtHDhQvXr188vAwIAmo57PsfUsWNHdezYsfbrAQMGNOpAAICmi9/ZCgAwRjQAAMaIBgDAGNEAABgjGgAAY0QDAGCMaAAAjBENAICxgETj3//+twYMGKDPP/9cZWVlGj9+vFJTU5WdnS3LsiRJeXl5Sk5O1rhx43TixAlJqnctAMA//B4Nj8ejrKwstW7dWpK0ePFipaena9OmTfL5fCooKFBpaamOHDmi/Px85ebmKicnp961AAD/8fulapcuXapx48Zp7dq1kqTS0lLFx8dLkhITE3Xw4EHFxMQoISFBNptN0dHR8nq9qqioqHPt0KFD77nPkpKSxrtDLQjHqWFxPBsWx7PhPMyx9Gs0tm/frqioKPXv3782Gj6fr/b3c4SFhamqqkoul0uRkZG133dre11rTcTFxdV/45b/fcB70/Lc9TiZOrH+4X9GC9EQx/OjBpijpXjY47l7+5kGmqT5MzmW9YXFr9HYtm2bbDab/vrXv+rUqVOaPXu2Kioqam93u92KiIiQw+GQ2+2+bXt4eLiCgoLuWAsA8B+/vqbx29/+Vhs3btSGDRvU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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Create the bar plot for Average Sales acrss different Store Types\n",
    "ax = sns.barplot(x=\"StoreType\", y=\"Sales\", data=df_new) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.barplot(x=\"Season\", y=\"Sales\", data=df_new,estimator=np.size) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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C2cmgI+qqqo0YcIESdK4ceM0b948zZ07Vz179lRWVpZSUlI0b9489ezZU2PGjNHs2bOVmpqqMWPG6JFHHtH69euVkpLS+Z5NmZmZys/P79z/Aw888KWP26dPHw0ZMkSS9K1vfUvf+973JP3nrOLEiRP66KOPdPz4cT377LOd9/n/l7BGjRolSbr77rt1+vTp6/gVAb5ATAAffPbZZ9q1a5caGxu1du1aGWN09uxZbd++XZs3b9a+fftUW1urrKwsrVu3TjNmzFBKSopqamq0dOlSNTQ0KDw8/Ip9GmOueGfnXr16felj//d7qzmdzis+93q9uuuuu7Rt2zZJUkdHhz799NPO23v27ClJt9x7RSGw+AU84INt27bp4YcfVm1trXbs2KGamhr99Kc/VVFRkaZNm6YHH3xQeXl5GjRokP71r39p8uTJ8ng8mjFjhmbMmKG//e1vGjlypHbs2NF5dvD73/9eDz300P88Vmho6DX9+4C4uDidOXNGf/nLXyT95wxq3rx5Xd7H6XTyLwpwXXFmAvhg69atev7556/YNnXqVP3617/WHXfcoQkTJigsLEzx8fFKTk5WWFiY5s+fr9DQUPXu3VslJSX69re/rZ/85CfKycnRxYsXNXToUBUXF//PY91+++2KiYlRTk6OSktLrzpbjx49tHz5ci1atEhtbW1yuVwqLy/v8j6X49enTx/l5ORc2xcD+BK8azAAwBqXuQAA1ogJAMAaMQEAWCMmAABrxAQAYI2YAACsERMAgLX/A6jb9a4OIKzgAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.barplot(x=\"Assortment\", y=\"Sales\", data=df_new,estimator=np.size) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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PDxcmzZtUl1dnZKTk7Vp0yZFRkbqgw8+UEZGhrZu3fq9v3/8+PFat26dXC6XHA6H/vKXv2jbtm3avXu3Tp06pZ07d8rr9WrSpEn68Y9/rJMnT0r65gMa6+rq9Nxzz2ngwIHGh+KA/0VMgNuUnZ2tX/3qVyouLlZxcbF+/vOf3/QFR263W19++aXGjh0rSRoyZIjuueceff7555KkQYMGSZK++OILnT17Vi+++GLDeV0uV6O/OyQkRMOHD9f777+vHj16qEePHurWrZsk6bHHHlNISIgkadSoUTp27JhOnDih06dP69ixY5KkmpoanTlzhpig2RET4DYcOXJENTU1Gj9+vCZPnqzJkydr9+7deueddxrWfNcnFFmWJY/HI0nq2LGjJMnr9ap79+4Nz494PB5dunTpljNMnjxZb775prp3737Tcyl2u73h316vV3a7XR6PRwsXLmwIW2VlZUNwgObES4OB29CxY0etXbtWX331laRvInH69Gn179+/4cHb4XCoe/fuOnDggKRvvvzo0qVL6tOnz02XFR0drStXrujvf/+7JGnPnj1asGDBLWeIi4vT119/rZKSEo0ePbph+8GDB1VXV6crV67o8OHDio+P18MPP6zdu3ervr5ebrdbqampDZ/6CzQn9kyA2/Dwww9r7ty5+uUvf6n6+npJUkJCgubMmaPt27crKytLeXl5Wr16tZYvX66NGzeqffv22rhx4//5pOLg4GCtX79eK1euVG1trRwOh/Ly8po0x5gxY1RVVXXTZXbo0EGpqalyuVz6xS9+ofvvv1+9evVSeXm5nnzySd24cUOTJk1qllecAf+LTw0GWhHLslRfX69Zs2YpPT1dDz74oKRvXtUlSfPmzQvkeLiLcZgLaEUuXryoRx55RIMHD24ICdASsGcCADDGngkAwBgxAQAYIyYAAGPEBABgjJgAAIz9P7pMc33YXgdsAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.barplot(x=\"StoreType\", y=\"Sales\", data=df_new,estimator=np.size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Engineering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Define a variable for each type of feature\n",
    "target = [\"Sales\"]\n",
    "numeric_columns = [\"Customers\",\"Open\",\"Promo\",\"Promo2\",\"StateHoliday\",\"SchoolHoliday\",\"CompetitionDistance\"]\n",
    "categorical_columns = [\"DayOfWeek\",\"Quarter\",\"Month\",\"Year\", \"StoreType\",\"Assortment\",\"Season\"]\n",
    "\n",
    "#Define a function that will intake the raw dataframe and the column name and return a one hot encoded DF\n",
    "def create_ohe(df, col):\n",
    "    le = LabelEncoder()\n",
    "    a=le.fit_transform(df_new[col]).reshape(-1,1)\n",
    "    ohe = OneHotEncoder(sparse=False)\n",
    "    column_names = [col+ \"_\"+ str(i) for i in le.classes_]\n",
    "    return(pd.DataFrame(ohe.fit_transform(a),columns =column_names))\n",
    "\n",
    "#Since the above function coverts the column, one at a time\n",
    "#We create a loop to create the final dataset with all features\n",
    "temp = df_new[numeric_columns]\n",
    "for column in categorical_columns:\n",
    "    temp_df = create_ohe(df_new,column)\n",
    "    temp = pd.concat([temp,temp_df],axis=1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of Data: (1017209, 44)\n",
      "Distinct Datatypes: [dtype('int64') dtype('O') dtype('float64')]\n"
     ]
    }
   ],
   "source": [
    "print(\"Shape of Data:\",temp.shape)\n",
    "print(\"Distinct Datatypes:\",temp.dtypes.unique())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['StateHoliday'], dtype='object')\n"
     ]
    }
   ],
   "source": [
    "print(temp.columns[temp.dtypes==\"object\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['0', 'a', 'b', 'c', 0], dtype=object)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[\"StateHoliday\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([dtype('int64'), dtype('float64')], dtype=object)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[\"StateHoliday\"]= np.where(temp[\"StateHoliday\"]== '0',0,1)\n",
    "#One last check the data tpye\n",
    "temp.dtypes.unique()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of x_train: (732390, 44)\n",
      "Shape of x_val: (81377, 44)\n",
      "Shape of x_test: (203442, 44)\n",
      "Shape of y_train: (732390, 1)\n",
      "Shape of y_val: (81377, 1)\n",
      "Shape of y_test: (203442, 1)\n"
     ]
    }
   ],
   "source": [
    "#Create train and test dataset with an 80:20 split\n",
    "x_train, x_test, y_train, y_test = train_test_split(temp,df_new[target],test_size=0.2,random_state=2018)\n",
    "#Further divide training dataset into train and validation dataset with an 90:10 split\n",
    "x_train, x_val, y_train, y_val = train_test_split(x_train,y_train,test_size=0.1,random_state=2018)\n",
    "\n",
    "#Check the sizes of all newly created datasets\n",
    "print(\"Shape of x_train:\",x_train.shape)\n",
    "print(\"Shape of x_val:\",x_val.shape)\n",
    "print(\"Shape of x_test:\",x_test.shape)\n",
    "print(\"Shape of y_train:\",y_train.shape)\n",
    "print(\"Shape of y_val:\",y_val.shape)\n",
    "print(\"Shape of y_test:\",y_test.shape)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Creating Baseline Accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average Sales : Sales    5773.099997\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#calcualte the average score of the train dataset\n",
    "mean_sales = y_train.mean()\n",
    "print(\"Average Sales :\",mean_sales) \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MAE for Test Data: 2883.587604303215\n"
     ]
    }
   ],
   "source": [
    "#Calculate the Mean Absolute Error on the test dataset\n",
    "print(\"MAE for Test Data:\",abs(y_test - mean_sales).mean()[0])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Designing the Deep Neural Network"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 732390 samples, validate on 81377 samples\n",
      "Epoch 1/10\n",
      "170368/732390 [=====>........................] - ETA: 8s - loss: 1167.5523 - mean_absolute_error: 1167.5523"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-25-95fb0f073be1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     14\u001b[0m \u001b[0;31m#Train the model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_train\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalidation_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_val\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my_val\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mepochs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mbatch_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m64\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/keras/engine/training.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)\u001b[0m\n\u001b[1;32m   1035\u001b[0m                                         \u001b[0minitial_epoch\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minitial_epoch\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1036\u001b[0m                                         \u001b[0msteps_per_epoch\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msteps_per_epoch\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1037\u001b[0;31m                                         validation_steps=validation_steps)\n\u001b[0m\u001b[1;32m   1038\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1039\u001b[0m     def evaluate(self, x=None, y=None,\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/keras/engine/training_arrays.py\u001b[0m in \u001b[0;36mfit_loop\u001b[0;34m(model, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics, initial_epoch, steps_per_epoch, validation_steps)\u001b[0m\n\u001b[1;32m    193\u001b[0m                 \u001b[0mbatch_logs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'batch'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbatch_index\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    194\u001b[0m                 \u001b[0mbatch_logs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'size'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbatch_ids\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 195\u001b[0;31m                 \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbatch_index\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbatch_logs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    196\u001b[0m                 \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mindices_for_conversion_to_dense\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    197\u001b[0m                     \u001b[0mins_batch\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mins_batch\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtoarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/keras/callbacks.py\u001b[0m in \u001b[0;36mon_batch_begin\u001b[0;34m(self, batch, logs)\u001b[0m\n\u001b[1;32m     88\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mcallback\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     89\u001b[0m             \u001b[0mcallback\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbatch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 90\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_delta_ts_batch_begin\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mt_before_callbacks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     91\u001b[0m         \u001b[0mdelta_t_median\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmedian\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_delta_ts_batch_begin\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     92\u001b[0m         if (self._delta_t_batch > 0. and\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "#Create Deep Neural Network Architecuture\n",
    "from keras import Sequential\n",
    "from keras.layers import Dense, Dropout\n",
    "\n",
    "model = Sequential()\n",
    "model.add(Dense(150,input_dim = 44,activation=\"relu\"))\n",
    "#The input_dim =44, since the width of the training data=44 (refer data engg section)\n",
    "model.add(Dense(1,activation = \"linear\"))\n",
    "\n",
    "#Configure the model\n",
    "model.compile(optimizer='adam', loss=\"mean_absolute_error\", \n",
    "metrics=[\"mean_absolute_error\"])\n",
    "\n",
    "#Train the model\n",
    "model.fit(x_train,y_train, validation_data=(x_val,y_val),epochs=10,batch_size=64)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "203442/203442 [==============================] - 2s 12us/step\n",
      "Metric  loss : 680.87\n",
      "Metric  mean_absolute_error : 680.87\n"
     ]
    }
   ],
   "source": [
    "#Use the model's evaluate method to predict and evaluate the test datasets\n",
    "result = model.evaluate(x_test,y_test)\n",
    "\n",
    "#Print the results\n",
    "for i in range(len(model.metrics_names)):\n",
    "    print(\"Metric \",model.metrics_names[i],\":\",str(round(result[i],2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 732390 samples, validate on 81377 samples\n",
      "Epoch 1/10\n",
      "732390/732390 [==============================] - 17s 24us/step - loss: 1685284.7051 - mean_absolute_error: 842.3630 - val_loss: 1174945.7529 - val_mean_absolute_error: 745.3857\n",
      "Epoch 2/10\n",
      "732390/732390 [==============================] - 18s 24us/step - loss: 1133273.9932 - mean_absolute_error: 714.4024 - val_loss: 1030627.0530 - val_mean_absolute_error: 684.4272\n",
      "Epoch 3/10\n",
      "732390/732390 [==============================] - 18s 25us/step - loss: 1080269.2895 - mean_absolute_error: 696.7061 - val_loss: 1023557.0454 - val_mean_absolute_error: 689.8529\n",
      "Epoch 4/10\n",
      "732390/732390 [==============================] - 17s 23us/step - loss: 1052242.8948 - mean_absolute_error: 688.3971 - val_loss: 1010271.0455 - val_mean_absolute_error: 679.7989: 1s - loss: 1054645.6395 - mean_abs\n",
      "Epoch 5/10\n",
      "732390/732390 [==============================] - 17s 23us/step - loss: 1027299.5754 - mean_absolute_error: 681.3595 - val_loss: 1048043.9851 - val_mean_absolute_error: 684.2256\n",
      "Epoch 6/10\n",
      "732390/732390 [==============================] - 18s 25us/step - loss: 1007905.3628 - mean_absolute_error: 675.1482 - val_loss: 1133526.1224 - val_mean_absolute_error: 706.2446\n",
      "Epoch 7/10\n",
      "732390/732390 [==============================] - 21s 28us/step - loss: 988923.5222 - mean_absolute_error: 668.5730 - val_loss: 1000196.1635 - val_mean_absolute_error: 668.0519\n",
      "Epoch 8/10\n",
      "732390/732390 [==============================] - 20s 27us/step - loss: 971098.3601 - mean_absolute_error: 663.2631 - val_loss: 948790.6927 - val_mean_absolute_error: 662.5188\n",
      "Epoch 9/10\n",
      "732390/732390 [==============================] - 21s 28us/step - loss: 958968.6987 - mean_absolute_error: 659.4370 - val_loss: 921253.2036 - val_mean_absolute_error: 655.7907\n",
      "Epoch 10/10\n",
      "732390/732390 [==============================] - 20s 28us/step - loss: 941492.0266 - mean_absolute_error: 654.0708 - val_loss: 902575.9538 - val_mean_absolute_error: 641.9370\n",
      "Metric  loss : 680.87\n",
      "Metric  mean_absolute_error : 680.87\n"
     ]
    }
   ],
   "source": [
    "model = Sequential()\n",
    "model.add(Dense(150,input_dim = 44,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(1,activation = \"linear\"))\n",
    "\n",
    "model.compile(optimizer='adam',loss=\"mean_squared_error\",metrics=[\"mean_absolute_error\"])\n",
    "\n",
    "history = model.fit(x_train,y_train, validation_data=(x_val,y_val),epochs=10,batch_size=64)\n",
    "\n",
    "#result = model.evaluate(x_test,y_test)\n",
    "for i in range(len(model.metrics_names)):\n",
    "    print(\"Metric \",model.metrics_names[i],\":\",str(round(result[i],2)))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 732390 samples, validate on 81377 samples\n",
      "Epoch 1/15\n",
      "732390/732390 [==============================] - 26s 36us/step - loss: 1703936.0100 - mean_absolute_error: 851.6688 - val_loss: 1094603.5317 - val_mean_absolute_error: 706.9305\n",
      "Epoch 2/15\n",
      "732390/732390 [==============================] - 27s 36us/step - loss: 1161501.9745 - mean_absolute_error: 721.2931 - val_loss: 1518559.0173 - val_mean_absolute_error: 825.1943\n",
      "Epoch 3/15\n",
      "732390/732390 [==============================] - 27s 37us/step - loss: 1096785.3552 - mean_absolute_error: 700.4759 - val_loss: 1015062.7743 - val_mean_absolute_error: 681.1888\n",
      "Epoch 4/15\n",
      "732390/732390 [==============================] - 26s 35us/step - loss: 1059616.4927 - mean_absolute_error: 688.3707 - val_loss: 966881.8669 - val_mean_absolute_error: 663.8176\n",
      "Epoch 5/15\n",
      "732390/732390 [==============================] - 24s 32us/step - loss: 1037982.0962 - mean_absolute_error: 682.4485 - val_loss: 1205937.6576 - val_mean_absolute_error: 722.0176\n",
      "Epoch 6/15\n",
      "732390/732390 [==============================] - 31s 42us/step - loss: 1010329.9213 - mean_absolute_error: 674.7859 - val_loss: 966027.5454 - val_mean_absolute_error: 668.1969\n",
      "Epoch 7/15\n",
      "732390/732390 [==============================] - 26s 36us/step - loss: 988368.1131 - mean_absolute_error: 667.6131 - val_loss: 1046650.9439 - val_mean_absolute_error: 703.1490\n",
      "Epoch 8/15\n",
      "732390/732390 [==============================] - 25s 35us/step - loss: 969963.4233 - mean_absolute_error: 662.5633 - val_loss: 928168.2484 - val_mean_absolute_error: 661.7503\n",
      "Epoch 9/15\n",
      "732390/732390 [==============================] - 26s 35us/step - loss: 948210.5878 - mean_absolute_error: 655.0962 - val_loss: 908465.7908 - val_mean_absolute_error: 640.3983\n",
      "Epoch 10/15\n",
      "732390/732390 [==============================] - 26s 35us/step - loss: 924665.2954 - mean_absolute_error: 646.9971 - val_loss: 909399.0107 - val_mean_absolute_error: 648.8360\n",
      "Epoch 11/15\n",
      "732390/732390 [==============================] - 23s 32us/step - loss: 904768.0450 - mean_absolute_error: 639.9808 - val_loss: 885313.2071 - val_mean_absolute_error: 635.7822\n",
      "Epoch 12/15\n",
      "732390/732390 [==============================] - 23s 32us/step - loss: 896512.3234 - mean_absolute_error: 637.3456 - val_loss: 833246.3289 - val_mean_absolute_error: 621.7195\n",
      "Epoch 13/15\n",
      "732390/732390 [==============================] - 23s 32us/step - loss: 882755.3707 - mean_absolute_error: 631.8146 - val_loss: 843997.8549 - val_mean_absolute_error: 618.1732\n",
      "Epoch 14/15\n",
      "732390/732390 [==============================] - 23s 32us/step - loss: 868517.2740 - mean_absolute_error: 626.9194 - val_loss: 902370.9028 - val_mean_absolute_error: 642.2977\n",
      "Epoch 15/15\n",
      "732390/732390 [==============================] - 23s 32us/step - loss: 863045.9003 - mean_absolute_error: 624.0468 - val_loss: 839400.3131 - val_mean_absolute_error: 618.1384\n",
      "203442/203442 [==============================] - 4s 17us/step\n",
      "Metric  loss : 843121.59\n",
      "Metric  mean_absolute_error : 615.32\n"
     ]
    }
   ],
   "source": [
    "model = Sequential()\n",
    "model.add(Dense(150,input_dim = 44,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(150,activation=\"relu\"))\n",
    "model.add(Dense(1,activation = \"linear\"))\n",
    "\n",
    "model.compile(optimizer='adam',loss=\"mean_squared_error\",metrics=[\"mean_absolute_error\"])\n",
    "\n",
    "model.fit(x_train,y_train, validation_data=(x_val,y_val),epochs=15,batch_size=64)\n",
    "\n",
    "result = model.evaluate(x_test,y_test)\n",
    "for i in range(len(model.metrics_names)):\n",
    "    print(\"Metric \",model.metrics_names[i],\":\",str(round(result[i],2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 732390 samples, validate on 81377 samples\n",
      "Epoch 1/15\n",
      "732390/732390 [==============================] - 31s 43us/step - loss: 1675714.8295 - mean_absolute_error: 847.2072 - val_loss: 1209506.8428 - val_mean_absolute_error: 739.2296\n",
      "Epoch 2/15\n",
      "732390/732390 [==============================] - 28s 38us/step - loss: 1146683.8457 - mean_absolute_error: 721.9335 - val_loss: 1052483.8034 - val_mean_absolute_error: 694.7749\n",
      "Epoch 3/15\n",
      "732390/732390 [==============================] - 28s 38us/step - loss: 1090371.9723 - mean_absolute_error: 704.6053 - val_loss: 1155228.5809 - val_mean_absolute_error: 723.6143\n",
      "Epoch 4/15\n",
      "732390/732390 [==============================] - 30s 41us/step - loss: 1053807.4279 - mean_absolute_error: 691.2609 - val_loss: 977870.9284 - val_mean_absolute_error: 678.1103\n",
      "Epoch 5/15\n",
      "732390/732390 [==============================] - 31s 42us/step - loss: 1032429.1545 - mean_absolute_error: 683.1416 - val_loss: 1091104.8923 - val_mean_absolute_error: 720.4713\n",
      "Epoch 6/15\n",
      "732390/732390 [==============================] - 29s 40us/step - loss: 1008940.2285 - mean_absolute_error: 675.1590 - val_loss: 931980.6303 - val_mean_absolute_error: 653.7101\n",
      "Epoch 7/15\n",
      "732390/732390 [==============================] - 30s 41us/step - loss: 991226.9974 - mean_absolute_error: 670.3981 - val_loss: 962760.8745 - val_mean_absolute_error: 668.0007\n",
      "Epoch 8/15\n",
      "732390/732390 [==============================] - 33s 45us/step - loss: 977803.5553 - mean_absolute_error: 665.8243 - val_loss: 937039.2554 - val_mean_absolute_error: 654.1671\n",
      "Epoch 9/15\n",
      "732390/732390 [==============================] - 30s 41us/step - loss: 959884.2966 - mean_absolute_error: 660.3655 - val_loss: 932178.1370 - val_mean_absolute_error: 662.6110\n",
      "Epoch 10/15\n",
      "732390/732390 [==============================] - 28s 38us/step - loss: 946837.9032 - mean_absolute_error: 656.7319 - val_loss: 920345.2724 - val_mean_absolute_error: 648.1114\n",
      "Epoch 11/15\n",
      "732390/732390 [==============================] - 31s 42us/step - loss: 935339.0165 - mean_absolute_error: 652.2207 - val_loss: 933972.8485 - val_mean_absolute_error: 658.4603\n",
      "Epoch 12/15\n",
      "732390/732390 [==============================] - 29s 40us/step - loss: 923284.2780 - mean_absolute_error: 648.7523 - val_loss: 890386.9354 - val_mean_absolute_error: 641.7696\n",
      "Epoch 13/15\n",
      "732390/732390 [==============================] - 40s 54us/step - loss: 910163.8382 - mean_absolute_error: 643.8897 - val_loss: 922761.6320 - val_mean_absolute_error: 655.0394\n",
      "Epoch 14/15\n",
      "732390/732390 [==============================] - 39s 53us/step - loss: 899196.5929 - mean_absolute_error: 639.9739 - val_loss: 860414.3408 - val_mean_absolute_error: 632.5936\n",
      "Epoch 15/15\n",
      "732390/732390 [==============================] - 33s 45us/step - loss: 892252.4569 - mean_absolute_error: 636.9389 - val_loss: 850181.9099 - val_mean_absolute_error: 630.0081\n",
      "203442/203442 [==============================] - 4s 18us/step\n",
      "Metric  loss : 850862.48\n",
      "Metric  mean_absolute_error : 626.13\n"
     ]
    }
   ],
   "source": [
    "model = Sequential()\n",
    "model.add(Dense(350,input_dim = 44,activation=\"relu\"))\n",
    "model.add(Dense(350,activation=\"relu\"))\n",
    "model.add(Dense(1,activation = \"linear\"))\n",
    "\n",
    "model.compile(optimizer='adam',loss=\"mean_squared_error\",metrics=[\"mean_absolute_error\"])\n",
    "\n",
    "model.fit(x_train,y_train, validation_data=(x_val,y_val),epochs=15,batch_size=64)\n",
    "\n",
    "result = model.evaluate(x_test,y_test)\n",
    "for i in range(len(model.metrics_names)):\n",
    "    print(\"Metric \",model.metrics_names[i],\":\",str(round(result[i],2)))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training the model with increased number of epochs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 732390 samples, validate on 81377 samples\n",
      "Epoch 1/15\n",
      "732390/732390 [==============================] - 68s 93us/step - loss: 1651341.4221 - mean_absolute_error: 842.8398 - val_loss: 1437441.5570 - val_mean_absolute_error: 846.5724\n",
      "Epoch 2/15\n",
      "732390/732390 [==============================] - 76s 103us/step - loss: 1172239.3975 - mean_absolute_error: 724.5272 - val_loss: 1027307.6079 - val_mean_absolute_error: 687.9113\n",
      "Epoch 3/15\n",
      "732390/732390 [==============================] - 79s 107us/step - loss: 1097080.7497 - mean_absolute_error: 701.4850 - val_loss: 1118859.0153 - val_mean_absolute_error: 691.1942\n",
      "Epoch 4/15\n",
      "732390/732390 [==============================] - 75s 102us/step - loss: 1061126.0586 - mean_absolute_error: 689.7148 - val_loss: 984014.0228 - val_mean_absolute_error: 677.7901\n",
      "Epoch 5/15\n",
      "732390/732390 [==============================] - 84s 115us/step - loss: 1030376.0530 - mean_absolute_error: 680.4842 - val_loss: 1090608.2013 - val_mean_absolute_error: 698.9978\n",
      "Epoch 6/15\n",
      "732390/732390 [==============================] - 89s 122us/step - loss: 1005910.9113 - mean_absolute_error: 673.4500 - val_loss: 991171.8300 - val_mean_absolute_error: 672.9563\n",
      "Epoch 7/15\n",
      "732390/732390 [==============================] - 82s 112us/step - loss: 982338.7786 - mean_absolute_error: 666.3958 - val_loss: 942789.9061 - val_mean_absolute_error: 654.3472\n",
      "Epoch 8/15\n",
      "732390/732390 [==============================] - 72s 98us/step - loss: 970783.3812 - mean_absolute_error: 662.3380 - val_loss: 914788.3140 - val_mean_absolute_error: 643.4763\n",
      "Epoch 9/15\n",
      "732390/732390 [==============================] - 72s 98us/step - loss: 945618.6761 - mean_absolute_error: 654.2450 - val_loss: 883126.3724 - val_mean_absolute_error: 634.5881\n",
      "Epoch 10/15\n",
      "732390/732390 [==============================] - 83s 113us/step - loss: 924676.3247 - mean_absolute_error: 647.3134 - val_loss: 892879.0154 - val_mean_absolute_error: 638.6722\n",
      "Epoch 11/15\n",
      "732390/732390 [==============================] - 75s 102us/step - loss: 907380.4475 - mean_absolute_error: 641.3545 - val_loss: 848950.8552 - val_mean_absolute_error: 622.3696\n",
      "Epoch 12/15\n",
      "732390/732390 [==============================] - 76s 104us/step - loss: 890205.8902 - mean_absolute_error: 634.9619 - val_loss: 839137.9959 - val_mean_absolute_error: 618.9295\n",
      "Epoch 13/15\n",
      "732390/732390 [==============================] - 73s 99us/step - loss: 878839.9013 - mean_absolute_error: 630.1348 - val_loss: 835626.7372 - val_mean_absolute_error: 626.0089\n",
      "Epoch 14/15\n",
      "732390/732390 [==============================] - 72s 98us/step - loss: 867587.5182 - mean_absolute_error: 625.5622 - val_loss: 808276.2852 - val_mean_absolute_error: 609.7206\n",
      "Epoch 15/15\n",
      "732390/732390 [==============================] - 66s 90us/step - loss: 853237.0501 - mean_absolute_error: 620.5111 - val_loss: 943923.0057 - val_mean_absolute_error: 650.6715\n",
      "203442/203442 [==============================] - 8s 38us/step\n",
      "Metric  loss : 944228.94\n",
      "Metric  mean_absolute_error : 647.68\n"
     ]
    }
   ],
   "source": [
    "from keras.callbacks import History \n",
    "history = History()\n",
    "\n",
    "model = Sequential()\n",
    "model.add(Dense(350,input_dim = 44,activation=\"relu\"))\n",
    "model.add(Dense(350,activation=\"relu\"))\n",
    "model.add(Dense(350,activation=\"relu\"))\n",
    "model.add(Dense(350,activation=\"relu\"))\n",
    "model.add(Dense(350,activation=\"relu\"))\n",
    "model.add(Dense(1,activation = \"linear\"))\n",
    "\n",
    "model.compile(optimizer='adam',loss=\"mean_squared_error\",metrics=[\"mean_absolute_error\"])\n",
    "\n",
    "model.fit(x_train,y_train, validation_data=(x_val,y_val), \n",
    "epochs=15,batch_size=64,callbacks=[history])\n",
    "\n",
    "result = model.evaluate(x_test,y_test)\n",
    "\n",
    "for i in range(len(model.metrics_names)):\n",
    "    print(\"Metric \",model.metrics_names[i],\":\",str(round(result[i],2)))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Visualing the final results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(history.history['loss'])\n",
    "plt.plot(history.history['val_loss'])\n",
    "plt.title(\"Model's Training & Validation loss across epochs\")\n",
    "plt.ylabel('Loss')\n",
    "plt.xlabel('Epochs')\n",
    "plt.legend(['Train', 'Validation'], loc='upper right')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        Actual Sales  Predicted Sales\n",
      "115563             0         0.538026\n",
      "832654             0         0.538026\n",
      "769112          2933      3213.734375\n",
      "350588          8602      7482.583496\n",
      "141556          6975      6102.960449\n",
      "84435           9239      9298.575195\n",
      "53018              0         0.538026\n",
      "262419             0         0.538026\n",
      "702267          5885      5403.159668\n",
      "981431             0         0.538026\n",
      "MSE : 944228.935376212\n",
      "MAE : 647.6771869731368\n"
     ]
    }
   ],
   "source": [
    "#Manually predicting from the model, instead of using model's evaluate function\n",
    "y_test[\"Prediction\"] = model.predict(x_test)\n",
    "y_test.columns = [\"Actual Sales\",\"Predicted Sales\"]\n",
    "print(y_test.head(10))\n",
    "\n",
    "#Manually predicting from the model, instead of using model's evaluate function\n",
    "from sklearn.metrics import mean_squared_error, mean_absolute_error\n",
    "print(\"MSE :\",mean_squared_error(y_test[\"Actual Sales\"].values,y_test[\"Predicted Sales\"].values))\n",
    "print(\"MAE :\",mean_absolute_error(y_test[\"Actual Sales\"].values,y_test[\"Predicted Sales\"].values))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
